/**
 * 
 * parseInt如果传入的不是字符串，会自动转换成字符串，
 * 之后才会根据字符串里是否是数字开头，如果不是数字开头，直接返回NAN
 * 如果是数字开头，会将前缀数字截取来转换。
 * 
 * Number转换有约束：
 * 当参数为空或者是以下值时：
 * null, [], [""],[单值数字],[“单值数字”]，false,true,"",
 * 会自动转换成整数类型
 * 
 */

/**
 * 隐式类型转换规则：
 * 1，对象==字符串，对象自动转化为字符串
 * 2，null==undefined，和其他值都不想等
 * 3，NaN和谁都不想等，就连NaN!=NaN
 * 4，剩下的都会转换成数字进行比较
 * 
 * 
 * ![]==false
 * 运算符优先级!最高，优先计算![]，
 * 在隐式转换boolean时，只有：
 * 0，""，NaN，null，undefined，false
 * 
 * 
 * 
 * null和undfined区别：
 * 1、null代表一个空对象
 * 2、undefined代表一个空变量，声明了但是没有进行初始化
 * 如果一个访问一个对象不存在时，返回null；
 * 如果访问一个变量没有初始化时，返回undefined
 */